/*
 * User: rant
 * Date: 11/01/2007
 *
 *
 */
package laMalinche.rete;

import laMalinche.editableContext.AboutToChangeManager;
import laMalinche.rete.rule.ProductionRule;

import org.jetbrains.annotations.NotNull;

/**
 *
 */
public interface Rete {
	AboutToChangeManager getAboutToChangeManager();

	/**
	 update all relevant conditions
	 */
	void updateConditions();

	/**
	 add production rule to rete
	 */
	void add(@NotNull ProductionRule rule);

	/**
	 remove all connections to context
	 */
	void detach();

//	Context getContext();
}